/**
 */
package de.thwildau.tm.moses.avro.avdl;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see de.thwildau.tm.moses.avro.avdl.AvdlFactory
 * @model kind="package"
 * @generated
 */
public interface AvdlPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "avdl";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.thwildau.de/tm/moses/avro/Idl";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "avdl";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  AvdlPackage eINSTANCE = de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl.init();

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.AvroIdlImpl <em>Avro Idl</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvroIdlImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getAvroIdl()
   * @generated
   */
  int AVRO_IDL = 0;

  /**
   * The feature id for the '<em><b>Name Space</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int AVRO_IDL__NAME_SPACE = 0;

  /**
   * The feature id for the '<em><b>Protocol</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int AVRO_IDL__PROTOCOL = 1;

  /**
   * The number of structural features of the '<em>Avro Idl</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int AVRO_IDL_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ProtocolImpl <em>Protocol</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ProtocolImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getProtocol()
   * @generated
   */
  int PROTOCOL = 1;

  /**
   * The feature id for the '<em><b>Protocol Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROTOCOL__PROTOCOL_NAME = 0;

  /**
   * The feature id for the '<em><b>Imports</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROTOCOL__IMPORTS = 1;

  /**
   * The feature id for the '<em><b>Definitions</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROTOCOL__DEFINITIONS = 2;

  /**
   * The number of structural features of the '<em>Protocol</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PROTOCOL_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.DefinitionsImpl <em>Definitions</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.DefinitionsImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getDefinitions()
   * @generated
   */
  int DEFINITIONS = 2;

  /**
   * The number of structural features of the '<em>Definitions</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEFINITIONS_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ErrorImpl <em>Error</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ErrorImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getError()
   * @generated
   */
  int ERROR = 3;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ERROR__NAME = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ERROR__FIELDS = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Error</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ERROR_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.RecordImpl <em>Record</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.RecordImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getRecord()
   * @generated
   */
  int RECORD = 4;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECORD__NAME = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECORD__ANNOTATION = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECORD__FIELDS = DEFINITIONS_FEATURE_COUNT + 2;

  /**
   * The number of structural features of the '<em>Record</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RECORD_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.FieldImpl <em>Field</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.FieldImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getField()
   * @generated
   */
  int FIELD = 5;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__TYPE = 0;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__ANNOTATION = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__NAME = 2;

  /**
   * The feature id for the '<em><b>Value</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD__VALUE = 3;

  /**
   * The number of structural features of the '<em>Field</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.EnumImpl <em>Enum</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.EnumImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getEnum()
   * @generated
   */
  int ENUM = 6;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM__NAME = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Fields</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM__FIELDS = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Enum</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.EnumFieldsImpl <em>Enum Fields</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.EnumFieldsImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getEnumFields()
   * @generated
   */
  int ENUM_FIELDS = 7;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_FIELDS__NAME = 0;

  /**
   * The number of structural features of the '<em>Enum Fields</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ENUM_FIELDS_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.FixedLengthFieldImpl <em>Fixed Length Field</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.FixedLengthFieldImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getFixedLengthField()
   * @generated
   */
  int FIXED_LENGTH_FIELD = 8;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIXED_LENGTH_FIELD__NAME = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Size</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIXED_LENGTH_FIELD__SIZE = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Fixed Length Field</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIXED_LENGTH_FIELD_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ImportsImpl <em>Imports</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ImportsImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getImports()
   * @generated
   */
  int IMPORTS = 9;

  /**
   * The feature id for the '<em><b>Import Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IMPORTS__IMPORT_TYPE = 0;

  /**
   * The feature id for the '<em><b>Import URI</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IMPORTS__IMPORT_URI = 1;

  /**
   * The feature id for the '<em><b>End Line</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IMPORTS__END_LINE = 2;

  /**
   * The number of structural features of the '<em>Imports</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IMPORTS_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.RPCMessageImpl <em>RPC Message</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.RPCMessageImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getRPCMessage()
   * @generated
   */
  int RPC_MESSAGE = 10;

  /**
   * The feature id for the '<em><b>Return Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RPC_MESSAGE__RETURN_TYPE = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RPC_MESSAGE__NAME = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The feature id for the '<em><b>Args</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RPC_MESSAGE__ARGS = DEFINITIONS_FEATURE_COUNT + 2;

  /**
   * The feature id for the '<em><b>Throws</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RPC_MESSAGE__THROWS = DEFINITIONS_FEATURE_COUNT + 3;

  /**
   * The number of structural features of the '<em>RPC Message</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RPC_MESSAGE_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 4;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.NameImpl <em>Name</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.NameImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getName_()
   * @generated
   */
  int NAME = 11;

  /**
   * The feature id for the '<em><b>Value</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAME__VALUE = 0;

  /**
   * The number of structural features of the '<em>Name</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAME_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ReturnTypeImpl <em>Return Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ReturnTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getReturnType()
   * @generated
   */
  int RETURN_TYPE = 12;

  /**
   * The feature id for the '<em><b>Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RETURN_TYPE__TYPE = 0;

  /**
   * The number of structural features of the '<em>Return Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RETURN_TYPE_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ThrowsImpl <em>Throws</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ThrowsImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getThrows()
   * @generated
   */
  int THROWS = 13;

  /**
   * The feature id for the '<em><b>Error</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS__ERROR = 0;

  /**
   * The number of structural features of the '<em>Throws</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int THROWS_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ArgumentImpl <em>Argument</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ArgumentImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getArgument()
   * @generated
   */
  int ARGUMENT = 14;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARGUMENT__TYPE = 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARGUMENT__NAME = 1;

  /**
   * The feature id for the '<em><b>Value</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARGUMENT__VALUE = 2;

  /**
   * The number of structural features of the '<em>Argument</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARGUMENT_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.AnnotationImpl <em>Annotation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.AnnotationImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getAnnotation()
   * @generated
   */
  int ANNOTATION = 15;

  /**
   * The number of structural features of the '<em>Annotation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ANNOTATION_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.AliasAnnotationImpl <em>Alias Annotation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.AliasAnnotationImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getAliasAnnotation()
   * @generated
   */
  int ALIAS_ANNOTATION = 16;

  /**
   * The feature id for the '<em><b>Element</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ALIAS_ANNOTATION__ELEMENT = ANNOTATION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Alias Annotation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ALIAS_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.OrderAnnotationImpl <em>Order Annotation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.OrderAnnotationImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getOrderAnnotation()
   * @generated
   */
  int ORDER_ANNOTATION = 17;

  /**
   * The feature id for the '<em><b>Order</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ORDER_ANNOTATION__ORDER = ANNOTATION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Order Annotation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ORDER_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.NamespaceAnnotationImpl <em>Namespace Annotation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.NamespaceAnnotationImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getNamespaceAnnotation()
   * @generated
   */
  int NAMESPACE_ANNOTATION = 18;

  /**
   * The feature id for the '<em><b>Path</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAMESPACE_ANNOTATION__PATH = ANNOTATION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Namespace Annotation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NAMESPACE_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.JavaclassAnnotationImpl <em>Javaclass Annotation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.JavaclassAnnotationImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getJavaclassAnnotation()
   * @generated
   */
  int JAVACLASS_ANNOTATION = 19;

  /**
   * The feature id for the '<em><b>Classpath</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int JAVACLASS_ANNOTATION__CLASSPATH = ANNOTATION_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Javaclass Annotation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int JAVACLASS_ANNOTATION_FEATURE_COUNT = ANNOTATION_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.UnionFieldTypeImpl <em>Union Field Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.UnionFieldTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getUnionFieldType()
   * @generated
   */
  int UNION_FIELD_TYPE = 34;

  /**
   * The number of structural features of the '<em>Union Field Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_FIELD_TYPE_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.DefTypeImpl <em>Def Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.DefTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getDefType()
   * @generated
   */
  int DEF_TYPE = 20;

  /**
   * The feature id for the '<em><b>Name</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEF_TYPE__NAME = UNION_FIELD_TYPE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Def Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DEF_TYPE_FEATURE_COUNT = UNION_FIELD_TYPE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.BaseTypeRefImpl <em>Base Type Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.BaseTypeRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBaseTypeRef()
   * @generated
   */
  int BASE_TYPE_REF = 21;

  /**
   * The feature id for the '<em><b>Type</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF__TYPE = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Basic Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF__BASIC_TYPE = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Base Type Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BASE_TYPE_REF_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ComplexTypeRefImpl <em>Complex Type Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ComplexTypeRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getComplexTypeRef()
   * @generated
   */
  int COMPLEX_TYPE_REF = 22;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int COMPLEX_TYPE_REF__TYPE = DEFINITIONS_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Complex Type Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int COMPLEX_TYPE_REF_FEATURE_COUNT = DEFINITIONS_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ConstValueImpl <em>Const Value</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ConstValueImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getConstValue()
   * @generated
   */
  int CONST_VALUE = 35;

  /**
   * The number of structural features of the '<em>Const Value</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int CONST_VALUE_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.NumberRefImpl <em>Number Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.NumberRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getNumberRef()
   * @generated
   */
  int NUMBER_REF = 23;

  /**
   * The number of structural features of the '<em>Number Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int NUMBER_REF_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.IntRefImpl <em>Int Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.IntRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getIntRef()
   * @generated
   */
  int INT_REF = 24;

  /**
   * The feature id for the '<em><b>Int</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INT_REF__INT = NUMBER_REF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Int Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INT_REF_FEATURE_COUNT = NUMBER_REF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.HexRefImpl <em>Hex Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.HexRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getHexRef()
   * @generated
   */
  int HEX_REF = 25;

  /**
   * The feature id for the '<em><b>Hex</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HEX_REF__HEX = NUMBER_REF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Hex Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int HEX_REF_FEATURE_COUNT = NUMBER_REF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.DoubleRefImpl <em>Double Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.DoubleRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getDoubleRef()
   * @generated
   */
  int DOUBLE_REF = 26;

  /**
   * The feature id for the '<em><b>Double</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DOUBLE_REF__DOUBLE = NUMBER_REF_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Double Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int DOUBLE_REF_FEATURE_COUNT = NUMBER_REF_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.BooleanRefImpl <em>Boolean Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.BooleanRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBooleanRef()
   * @generated
   */
  int BOOLEAN_REF = 27;

  /**
   * The feature id for the '<em><b>Boolean</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BOOLEAN_REF__BOOLEAN = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>Boolean Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int BOOLEAN_REF_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.StringRefImpl <em>String Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.StringRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getStringRef()
   * @generated
   */
  int STRING_REF = 28;

  /**
   * The feature id for the '<em><b>String</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRING_REF__STRING = CONST_VALUE_FEATURE_COUNT + 0;

  /**
   * The number of structural features of the '<em>String Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int STRING_REF_FEATURE_COUNT = CONST_VALUE_FEATURE_COUNT + 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ImportTypeRefImpl <em>Import Type Ref</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ImportTypeRefImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getImportTypeRef()
   * @generated
   */
  int IMPORT_TYPE_REF = 29;

  /**
   * The feature id for the '<em><b>Type</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IMPORT_TYPE_REF__TYPE = 0;

  /**
   * The number of structural features of the '<em>Import Type Ref</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int IMPORT_TYPE_REF_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.FieldTypeImpl <em>Field Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.FieldTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getFieldType()
   * @generated
   */
  int FIELD_TYPE = 30;

  /**
   * The number of structural features of the '<em>Field Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FIELD_TYPE_FEATURE_COUNT = 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ArrayTypeImpl <em>Array Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.ArrayTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getArrayType()
   * @generated
   */
  int ARRAY_TYPE = 31;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARRAY_TYPE__TYPE = COMPLEX_TYPE_REF__TYPE;

  /**
   * The number of structural features of the '<em>Array Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARRAY_TYPE_FEATURE_COUNT = COMPLEX_TYPE_REF_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.MapTypeImpl <em>Map Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.MapTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getMapType()
   * @generated
   */
  int MAP_TYPE = 32;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE__TYPE = COMPLEX_TYPE_REF__TYPE;

  /**
   * The number of structural features of the '<em>Map Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MAP_TYPE_FEATURE_COUNT = COMPLEX_TYPE_REF_FEATURE_COUNT + 0;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.impl.UnionTypeImpl <em>Union Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.impl.UnionTypeImpl
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getUnionType()
   * @generated
   */
  int UNION_TYPE = 33;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE__TYPE = FIELD__TYPE;

  /**
   * The feature id for the '<em><b>Annotation</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE__ANNOTATION = FIELD__ANNOTATION;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE__NAME = FIELD__NAME;

  /**
   * The feature id for the '<em><b>Value</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE__VALUE = FIELD__VALUE;

  /**
   * The feature id for the '<em><b>Types</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE__TYPES = FIELD_FEATURE_COUNT + 0;

  /**
   * The feature id for the '<em><b>Optional String</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE__OPTIONAL_STRING = FIELD_FEATURE_COUNT + 1;

  /**
   * The number of structural features of the '<em>Union Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int UNION_TYPE_FEATURE_COUNT = FIELD_FEATURE_COUNT + 2;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.BOOL <em>BOOL</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.BOOL
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBOOL()
   * @generated
   */
  int BOOL = 36;

  /**
   * The meta object id for the '{@link de.thwildau.tm.moses.avro.avdl.BaseType <em>Base Type</em>}' enum.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.thwildau.tm.moses.avro.avdl.BaseType
   * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBaseType()
   * @generated
   */
  int BASE_TYPE = 37;


  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.AvroIdl <em>Avro Idl</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Avro Idl</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.AvroIdl
   * @generated
   */
  EClass getAvroIdl();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.AvroIdl#getNameSpace <em>Name Space</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Name Space</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.AvroIdl#getNameSpace()
   * @see #getAvroIdl()
   * @generated
   */
  EReference getAvroIdl_NameSpace();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.AvroIdl#getProtocol <em>Protocol</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Protocol</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.AvroIdl#getProtocol()
   * @see #getAvroIdl()
   * @generated
   */
  EReference getAvroIdl_Protocol();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Protocol <em>Protocol</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Protocol</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Protocol
   * @generated
   */
  EClass getProtocol();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Protocol#getProtocolName <em>Protocol Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Protocol Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Protocol#getProtocolName()
   * @see #getProtocol()
   * @generated
   */
  EAttribute getProtocol_ProtocolName();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.Protocol#getImports <em>Imports</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Imports</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Protocol#getImports()
   * @see #getProtocol()
   * @generated
   */
  EReference getProtocol_Imports();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.Protocol#getDefinitions <em>Definitions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Definitions</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Protocol#getDefinitions()
   * @see #getProtocol()
   * @generated
   */
  EReference getProtocol_Definitions();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Definitions <em>Definitions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Definitions</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Definitions
   * @generated
   */
  EClass getDefinitions();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Error <em>Error</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Error</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Error
   * @generated
   */
  EClass getError();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Error#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Error#getName()
   * @see #getError()
   * @generated
   */
  EAttribute getError_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.Error#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Error#getFields()
   * @see #getError()
   * @generated
   */
  EReference getError_Fields();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Record <em>Record</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Record</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Record
   * @generated
   */
  EClass getRecord();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Record#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Record#getName()
   * @see #getRecord()
   * @generated
   */
  EAttribute getRecord_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.Record#getAnnotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Record#getAnnotation()
   * @see #getRecord()
   * @generated
   */
  EReference getRecord_Annotation();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.Record#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Record#getFields()
   * @see #getRecord()
   * @generated
   */
  EReference getRecord_Fields();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Field <em>Field</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Field</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Field
   * @generated
   */
  EClass getField();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Field#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Field#getType()
   * @see #getField()
   * @generated
   */
  EReference getField_Type();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Field#getAnnotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Field#getAnnotation()
   * @see #getField()
   * @generated
   */
  EReference getField_Annotation();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Field#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Field#getName()
   * @see #getField()
   * @generated
   */
  EAttribute getField_Name();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Field#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Value</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Field#getValue()
   * @see #getField()
   * @generated
   */
  EReference getField_Value();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Enum <em>Enum</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Enum</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Enum
   * @generated
   */
  EClass getEnum();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Enum#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Enum#getName()
   * @see #getEnum()
   * @generated
   */
  EAttribute getEnum_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.Enum#getFields <em>Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Fields</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Enum#getFields()
   * @see #getEnum()
   * @generated
   */
  EReference getEnum_Fields();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.EnumFields <em>Enum Fields</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Enum Fields</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.EnumFields
   * @generated
   */
  EClass getEnumFields();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.EnumFields#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.EnumFields#getName()
   * @see #getEnumFields()
   * @generated
   */
  EAttribute getEnumFields_Name();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.FixedLengthField <em>Fixed Length Field</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Fixed Length Field</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.FixedLengthField
   * @generated
   */
  EClass getFixedLengthField();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.FixedLengthField#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.FixedLengthField#getName()
   * @see #getFixedLengthField()
   * @generated
   */
  EAttribute getFixedLengthField_Name();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.FixedLengthField#getSize <em>Size</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Size</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.FixedLengthField#getSize()
   * @see #getFixedLengthField()
   * @generated
   */
  EAttribute getFixedLengthField_Size();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Imports <em>Imports</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Imports</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Imports
   * @generated
   */
  EClass getImports();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Imports#getImportType <em>Import Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Import Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Imports#getImportType()
   * @see #getImports()
   * @generated
   */
  EReference getImports_ImportType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Imports#getImportURI <em>Import URI</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Import URI</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Imports#getImportURI()
   * @see #getImports()
   * @generated
   */
  EReference getImports_ImportURI();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Imports#getEndLine <em>End Line</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>End Line</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Imports#getEndLine()
   * @see #getImports()
   * @generated
   */
  EAttribute getImports_EndLine();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.RPCMessage <em>RPC Message</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>RPC Message</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.RPCMessage
   * @generated
   */
  EClass getRPCMessage();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.RPCMessage#getReturnType <em>Return Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Return Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.RPCMessage#getReturnType()
   * @see #getRPCMessage()
   * @generated
   */
  EReference getRPCMessage_ReturnType();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.RPCMessage#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.RPCMessage#getName()
   * @see #getRPCMessage()
   * @generated
   */
  EReference getRPCMessage_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.RPCMessage#getArgs <em>Args</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Args</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.RPCMessage#getArgs()
   * @see #getRPCMessage()
   * @generated
   */
  EReference getRPCMessage_Args();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.RPCMessage#getThrows <em>Throws</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Throws</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.RPCMessage#getThrows()
   * @see #getRPCMessage()
   * @generated
   */
  EReference getRPCMessage_Throws();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Name <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Name
   * @generated
   */
  EClass getName_();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.Name#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Value</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Name#getValue()
   * @see #getName_()
   * @generated
   */
  EAttribute getName_Value();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.ReturnType <em>Return Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Return Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ReturnType
   * @generated
   */
  EClass getReturnType();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.avro.avdl.ReturnType#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ReturnType#getType()
   * @see #getReturnType()
   * @generated
   */
  EReference getReturnType_Type();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Throws <em>Throws</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Throws</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Throws
   * @generated
   */
  EClass getThrows();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.avro.avdl.Throws#getError <em>Error</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Error</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Throws#getError()
   * @see #getThrows()
   * @generated
   */
  EReference getThrows_Error();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Argument <em>Argument</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Argument</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Argument
   * @generated
   */
  EClass getArgument();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Argument#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Argument#getType()
   * @see #getArgument()
   * @generated
   */
  EReference getArgument_Type();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Argument#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Argument#getName()
   * @see #getArgument()
   * @generated
   */
  EReference getArgument_Name();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.Argument#getValue <em>Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Value</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Argument#getValue()
   * @see #getArgument()
   * @generated
   */
  EReference getArgument_Value();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.Annotation <em>Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.Annotation
   * @generated
   */
  EClass getAnnotation();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.AliasAnnotation <em>Alias Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Alias Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.AliasAnnotation
   * @generated
   */
  EClass getAliasAnnotation();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.AliasAnnotation#getElement <em>Element</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Element</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.AliasAnnotation#getElement()
   * @see #getAliasAnnotation()
   * @generated
   */
  EReference getAliasAnnotation_Element();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.OrderAnnotation <em>Order Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Order Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.OrderAnnotation
   * @generated
   */
  EClass getOrderAnnotation();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.OrderAnnotation#getOrder <em>Order</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Order</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.OrderAnnotation#getOrder()
   * @see #getOrderAnnotation()
   * @generated
   */
  EReference getOrderAnnotation_Order();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.NamespaceAnnotation <em>Namespace Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Namespace Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.NamespaceAnnotation
   * @generated
   */
  EClass getNamespaceAnnotation();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.NamespaceAnnotation#getPath <em>Path</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Path</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.NamespaceAnnotation#getPath()
   * @see #getNamespaceAnnotation()
   * @generated
   */
  EReference getNamespaceAnnotation_Path();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.JavaclassAnnotation <em>Javaclass Annotation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Javaclass Annotation</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.JavaclassAnnotation
   * @generated
   */
  EClass getJavaclassAnnotation();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.JavaclassAnnotation#getClasspath <em>Classpath</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Classpath</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.JavaclassAnnotation#getClasspath()
   * @see #getJavaclassAnnotation()
   * @generated
   */
  EReference getJavaclassAnnotation_Classpath();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.DefType <em>Def Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Def Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.DefType
   * @generated
   */
  EClass getDefType();

  /**
   * Returns the meta object for the reference '{@link de.thwildau.tm.moses.avro.avdl.DefType#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Name</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.DefType#getName()
   * @see #getDefType()
   * @generated
   */
  EReference getDefType_Name();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.BaseTypeRef <em>Base Type Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Base Type Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.BaseTypeRef
   * @generated
   */
  EClass getBaseTypeRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.BaseTypeRef#getBasicType <em>Basic Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Basic Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.BaseTypeRef#getBasicType()
   * @see #getBaseTypeRef()
   * @generated
   */
  EAttribute getBaseTypeRef_BasicType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.ComplexTypeRef <em>Complex Type Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Complex Type Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ComplexTypeRef
   * @generated
   */
  EClass getComplexTypeRef();

  /**
   * Returns the meta object for the containment reference '{@link de.thwildau.tm.moses.avro.avdl.ComplexTypeRef#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ComplexTypeRef#getType()
   * @see #getComplexTypeRef()
   * @generated
   */
  EReference getComplexTypeRef_Type();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.NumberRef <em>Number Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Number Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.NumberRef
   * @generated
   */
  EClass getNumberRef();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.IntRef <em>Int Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Int Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.IntRef
   * @generated
   */
  EClass getIntRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.IntRef#getInt <em>Int</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Int</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.IntRef#getInt()
   * @see #getIntRef()
   * @generated
   */
  EAttribute getIntRef_Int();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.HexRef <em>Hex Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Hex Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.HexRef
   * @generated
   */
  EClass getHexRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.HexRef#getHex <em>Hex</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Hex</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.HexRef#getHex()
   * @see #getHexRef()
   * @generated
   */
  EAttribute getHexRef_Hex();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.DoubleRef <em>Double Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Double Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.DoubleRef
   * @generated
   */
  EClass getDoubleRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.DoubleRef#getDouble <em>Double</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Double</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.DoubleRef#getDouble()
   * @see #getDoubleRef()
   * @generated
   */
  EAttribute getDoubleRef_Double();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.BooleanRef <em>Boolean Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Boolean Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.BooleanRef
   * @generated
   */
  EClass getBooleanRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.BooleanRef#getBoolean <em>Boolean</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Boolean</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.BooleanRef#getBoolean()
   * @see #getBooleanRef()
   * @generated
   */
  EAttribute getBooleanRef_Boolean();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.StringRef <em>String Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>String Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.StringRef
   * @generated
   */
  EClass getStringRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.StringRef#getString <em>String</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>String</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.StringRef#getString()
   * @see #getStringRef()
   * @generated
   */
  EAttribute getStringRef_String();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.ImportTypeRef <em>Import Type Ref</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Import Type Ref</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ImportTypeRef
   * @generated
   */
  EClass getImportTypeRef();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.ImportTypeRef#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ImportTypeRef#getType()
   * @see #getImportTypeRef()
   * @generated
   */
  EAttribute getImportTypeRef_Type();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.FieldType <em>Field Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Field Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.FieldType
   * @generated
   */
  EClass getFieldType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.ArrayType <em>Array Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Array Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ArrayType
   * @generated
   */
  EClass getArrayType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.MapType <em>Map Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Map Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.MapType
   * @generated
   */
  EClass getMapType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.UnionType <em>Union Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Union Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.UnionType
   * @generated
   */
  EClass getUnionType();

  /**
   * Returns the meta object for the containment reference list '{@link de.thwildau.tm.moses.avro.avdl.UnionType#getTypes <em>Types</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Types</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.UnionType#getTypes()
   * @see #getUnionType()
   * @generated
   */
  EReference getUnionType_Types();

  /**
   * Returns the meta object for the attribute '{@link de.thwildau.tm.moses.avro.avdl.UnionType#getOptionalString <em>Optional String</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Optional String</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.UnionType#getOptionalString()
   * @see #getUnionType()
   * @generated
   */
  EAttribute getUnionType_OptionalString();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.UnionFieldType <em>Union Field Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Union Field Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.UnionFieldType
   * @generated
   */
  EClass getUnionFieldType();

  /**
   * Returns the meta object for class '{@link de.thwildau.tm.moses.avro.avdl.ConstValue <em>Const Value</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Const Value</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.ConstValue
   * @generated
   */
  EClass getConstValue();

  /**
   * Returns the meta object for enum '{@link de.thwildau.tm.moses.avro.avdl.BOOL <em>BOOL</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>BOOL</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.BOOL
   * @generated
   */
  EEnum getBOOL();

  /**
   * Returns the meta object for enum '{@link de.thwildau.tm.moses.avro.avdl.BaseType <em>Base Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for enum '<em>Base Type</em>'.
   * @see de.thwildau.tm.moses.avro.avdl.BaseType
   * @generated
   */
  EEnum getBaseType();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  AvdlFactory getAvdlFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.AvroIdlImpl <em>Avro Idl</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvroIdlImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getAvroIdl()
     * @generated
     */
    EClass AVRO_IDL = eINSTANCE.getAvroIdl();

    /**
     * The meta object literal for the '<em><b>Name Space</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference AVRO_IDL__NAME_SPACE = eINSTANCE.getAvroIdl_NameSpace();

    /**
     * The meta object literal for the '<em><b>Protocol</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference AVRO_IDL__PROTOCOL = eINSTANCE.getAvroIdl_Protocol();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ProtocolImpl <em>Protocol</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ProtocolImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getProtocol()
     * @generated
     */
    EClass PROTOCOL = eINSTANCE.getProtocol();

    /**
     * The meta object literal for the '<em><b>Protocol Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute PROTOCOL__PROTOCOL_NAME = eINSTANCE.getProtocol_ProtocolName();

    /**
     * The meta object literal for the '<em><b>Imports</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PROTOCOL__IMPORTS = eINSTANCE.getProtocol_Imports();

    /**
     * The meta object literal for the '<em><b>Definitions</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PROTOCOL__DEFINITIONS = eINSTANCE.getProtocol_Definitions();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.DefinitionsImpl <em>Definitions</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.DefinitionsImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getDefinitions()
     * @generated
     */
    EClass DEFINITIONS = eINSTANCE.getDefinitions();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ErrorImpl <em>Error</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ErrorImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getError()
     * @generated
     */
    EClass ERROR = eINSTANCE.getError();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ERROR__NAME = eINSTANCE.getError_Name();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ERROR__FIELDS = eINSTANCE.getError_Fields();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.RecordImpl <em>Record</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.RecordImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getRecord()
     * @generated
     */
    EClass RECORD = eINSTANCE.getRecord();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RECORD__NAME = eINSTANCE.getRecord_Name();

    /**
     * The meta object literal for the '<em><b>Annotation</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RECORD__ANNOTATION = eINSTANCE.getRecord_Annotation();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RECORD__FIELDS = eINSTANCE.getRecord_Fields();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.FieldImpl <em>Field</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.FieldImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getField()
     * @generated
     */
    EClass FIELD = eINSTANCE.getField();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__TYPE = eINSTANCE.getField_Type();

    /**
     * The meta object literal for the '<em><b>Annotation</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__ANNOTATION = eINSTANCE.getField_Annotation();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIELD__NAME = eINSTANCE.getField_Name();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FIELD__VALUE = eINSTANCE.getField_Value();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.EnumImpl <em>Enum</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.EnumImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getEnum()
     * @generated
     */
    EClass ENUM = eINSTANCE.getEnum();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ENUM__NAME = eINSTANCE.getEnum_Name();

    /**
     * The meta object literal for the '<em><b>Fields</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ENUM__FIELDS = eINSTANCE.getEnum_Fields();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.EnumFieldsImpl <em>Enum Fields</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.EnumFieldsImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getEnumFields()
     * @generated
     */
    EClass ENUM_FIELDS = eINSTANCE.getEnumFields();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ENUM_FIELDS__NAME = eINSTANCE.getEnumFields_Name();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.FixedLengthFieldImpl <em>Fixed Length Field</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.FixedLengthFieldImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getFixedLengthField()
     * @generated
     */
    EClass FIXED_LENGTH_FIELD = eINSTANCE.getFixedLengthField();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIXED_LENGTH_FIELD__NAME = eINSTANCE.getFixedLengthField_Name();

    /**
     * The meta object literal for the '<em><b>Size</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FIXED_LENGTH_FIELD__SIZE = eINSTANCE.getFixedLengthField_Size();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ImportsImpl <em>Imports</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ImportsImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getImports()
     * @generated
     */
    EClass IMPORTS = eINSTANCE.getImports();

    /**
     * The meta object literal for the '<em><b>Import Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference IMPORTS__IMPORT_TYPE = eINSTANCE.getImports_ImportType();

    /**
     * The meta object literal for the '<em><b>Import URI</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference IMPORTS__IMPORT_URI = eINSTANCE.getImports_ImportURI();

    /**
     * The meta object literal for the '<em><b>End Line</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute IMPORTS__END_LINE = eINSTANCE.getImports_EndLine();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.RPCMessageImpl <em>RPC Message</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.RPCMessageImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getRPCMessage()
     * @generated
     */
    EClass RPC_MESSAGE = eINSTANCE.getRPCMessage();

    /**
     * The meta object literal for the '<em><b>Return Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RPC_MESSAGE__RETURN_TYPE = eINSTANCE.getRPCMessage_ReturnType();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RPC_MESSAGE__NAME = eINSTANCE.getRPCMessage_Name();

    /**
     * The meta object literal for the '<em><b>Args</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RPC_MESSAGE__ARGS = eINSTANCE.getRPCMessage_Args();

    /**
     * The meta object literal for the '<em><b>Throws</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RPC_MESSAGE__THROWS = eINSTANCE.getRPCMessage_Throws();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.NameImpl <em>Name</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.NameImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getName_()
     * @generated
     */
    EClass NAME = eINSTANCE.getName_();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute NAME__VALUE = eINSTANCE.getName_Value();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ReturnTypeImpl <em>Return Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ReturnTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getReturnType()
     * @generated
     */
    EClass RETURN_TYPE = eINSTANCE.getReturnType();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RETURN_TYPE__TYPE = eINSTANCE.getReturnType_Type();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ThrowsImpl <em>Throws</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ThrowsImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getThrows()
     * @generated
     */
    EClass THROWS = eINSTANCE.getThrows();

    /**
     * The meta object literal for the '<em><b>Error</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference THROWS__ERROR = eINSTANCE.getThrows_Error();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ArgumentImpl <em>Argument</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ArgumentImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getArgument()
     * @generated
     */
    EClass ARGUMENT = eINSTANCE.getArgument();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ARGUMENT__TYPE = eINSTANCE.getArgument_Type();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ARGUMENT__NAME = eINSTANCE.getArgument_Name();

    /**
     * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ARGUMENT__VALUE = eINSTANCE.getArgument_Value();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.AnnotationImpl <em>Annotation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.AnnotationImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getAnnotation()
     * @generated
     */
    EClass ANNOTATION = eINSTANCE.getAnnotation();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.AliasAnnotationImpl <em>Alias Annotation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.AliasAnnotationImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getAliasAnnotation()
     * @generated
     */
    EClass ALIAS_ANNOTATION = eINSTANCE.getAliasAnnotation();

    /**
     * The meta object literal for the '<em><b>Element</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ALIAS_ANNOTATION__ELEMENT = eINSTANCE.getAliasAnnotation_Element();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.OrderAnnotationImpl <em>Order Annotation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.OrderAnnotationImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getOrderAnnotation()
     * @generated
     */
    EClass ORDER_ANNOTATION = eINSTANCE.getOrderAnnotation();

    /**
     * The meta object literal for the '<em><b>Order</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ORDER_ANNOTATION__ORDER = eINSTANCE.getOrderAnnotation_Order();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.NamespaceAnnotationImpl <em>Namespace Annotation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.NamespaceAnnotationImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getNamespaceAnnotation()
     * @generated
     */
    EClass NAMESPACE_ANNOTATION = eINSTANCE.getNamespaceAnnotation();

    /**
     * The meta object literal for the '<em><b>Path</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference NAMESPACE_ANNOTATION__PATH = eINSTANCE.getNamespaceAnnotation_Path();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.JavaclassAnnotationImpl <em>Javaclass Annotation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.JavaclassAnnotationImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getJavaclassAnnotation()
     * @generated
     */
    EClass JAVACLASS_ANNOTATION = eINSTANCE.getJavaclassAnnotation();

    /**
     * The meta object literal for the '<em><b>Classpath</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference JAVACLASS_ANNOTATION__CLASSPATH = eINSTANCE.getJavaclassAnnotation_Classpath();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.DefTypeImpl <em>Def Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.DefTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getDefType()
     * @generated
     */
    EClass DEF_TYPE = eINSTANCE.getDefType();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference DEF_TYPE__NAME = eINSTANCE.getDefType_Name();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.BaseTypeRefImpl <em>Base Type Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.BaseTypeRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBaseTypeRef()
     * @generated
     */
    EClass BASE_TYPE_REF = eINSTANCE.getBaseTypeRef();

    /**
     * The meta object literal for the '<em><b>Basic Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute BASE_TYPE_REF__BASIC_TYPE = eINSTANCE.getBaseTypeRef_BasicType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ComplexTypeRefImpl <em>Complex Type Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ComplexTypeRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getComplexTypeRef()
     * @generated
     */
    EClass COMPLEX_TYPE_REF = eINSTANCE.getComplexTypeRef();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference COMPLEX_TYPE_REF__TYPE = eINSTANCE.getComplexTypeRef_Type();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.NumberRefImpl <em>Number Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.NumberRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getNumberRef()
     * @generated
     */
    EClass NUMBER_REF = eINSTANCE.getNumberRef();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.IntRefImpl <em>Int Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.IntRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getIntRef()
     * @generated
     */
    EClass INT_REF = eINSTANCE.getIntRef();

    /**
     * The meta object literal for the '<em><b>Int</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute INT_REF__INT = eINSTANCE.getIntRef_Int();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.HexRefImpl <em>Hex Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.HexRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getHexRef()
     * @generated
     */
    EClass HEX_REF = eINSTANCE.getHexRef();

    /**
     * The meta object literal for the '<em><b>Hex</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute HEX_REF__HEX = eINSTANCE.getHexRef_Hex();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.DoubleRefImpl <em>Double Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.DoubleRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getDoubleRef()
     * @generated
     */
    EClass DOUBLE_REF = eINSTANCE.getDoubleRef();

    /**
     * The meta object literal for the '<em><b>Double</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute DOUBLE_REF__DOUBLE = eINSTANCE.getDoubleRef_Double();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.BooleanRefImpl <em>Boolean Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.BooleanRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBooleanRef()
     * @generated
     */
    EClass BOOLEAN_REF = eINSTANCE.getBooleanRef();

    /**
     * The meta object literal for the '<em><b>Boolean</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute BOOLEAN_REF__BOOLEAN = eINSTANCE.getBooleanRef_Boolean();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.StringRefImpl <em>String Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.StringRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getStringRef()
     * @generated
     */
    EClass STRING_REF = eINSTANCE.getStringRef();

    /**
     * The meta object literal for the '<em><b>String</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute STRING_REF__STRING = eINSTANCE.getStringRef_String();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ImportTypeRefImpl <em>Import Type Ref</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ImportTypeRefImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getImportTypeRef()
     * @generated
     */
    EClass IMPORT_TYPE_REF = eINSTANCE.getImportTypeRef();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute IMPORT_TYPE_REF__TYPE = eINSTANCE.getImportTypeRef_Type();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.FieldTypeImpl <em>Field Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.FieldTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getFieldType()
     * @generated
     */
    EClass FIELD_TYPE = eINSTANCE.getFieldType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ArrayTypeImpl <em>Array Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ArrayTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getArrayType()
     * @generated
     */
    EClass ARRAY_TYPE = eINSTANCE.getArrayType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.MapTypeImpl <em>Map Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.MapTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getMapType()
     * @generated
     */
    EClass MAP_TYPE = eINSTANCE.getMapType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.UnionTypeImpl <em>Union Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.UnionTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getUnionType()
     * @generated
     */
    EClass UNION_TYPE = eINSTANCE.getUnionType();

    /**
     * The meta object literal for the '<em><b>Types</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference UNION_TYPE__TYPES = eINSTANCE.getUnionType_Types();

    /**
     * The meta object literal for the '<em><b>Optional String</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute UNION_TYPE__OPTIONAL_STRING = eINSTANCE.getUnionType_OptionalString();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.UnionFieldTypeImpl <em>Union Field Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.UnionFieldTypeImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getUnionFieldType()
     * @generated
     */
    EClass UNION_FIELD_TYPE = eINSTANCE.getUnionFieldType();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.impl.ConstValueImpl <em>Const Value</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.impl.ConstValueImpl
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getConstValue()
     * @generated
     */
    EClass CONST_VALUE = eINSTANCE.getConstValue();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.BOOL <em>BOOL</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.BOOL
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBOOL()
     * @generated
     */
    EEnum BOOL = eINSTANCE.getBOOL();

    /**
     * The meta object literal for the '{@link de.thwildau.tm.moses.avro.avdl.BaseType <em>Base Type</em>}' enum.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.thwildau.tm.moses.avro.avdl.BaseType
     * @see de.thwildau.tm.moses.avro.avdl.impl.AvdlPackageImpl#getBaseType()
     * @generated
     */
    EEnum BASE_TYPE = eINSTANCE.getBaseType();

  }

} //AvdlPackage
